Least common multiple

In arithmetic and number theory, the least common multiple (also called the lowest common multiple or smallest common multiple) of two integers a and b, usually denoted by LCM(a, b), is the smallest positive integer that is a multiple of both a and b.[1] It is familiar from grade-school arithmetic as the "lowest common denominator" that must be determined before two fractions can be added.

If either a or b is 0, LCM(ab) is defined to be zero.

The LCM of more than two integers is also well-defined: it is the smallest number that is an integer multiple of each of them.

Contents

Overview

Notation

In this article we will denote the least common multiple of two integers a and b as lcm( a, b ). Some older textbooks use [ a, b ].[2][3]

Example

What is the LCM of 4 and 6?

Multiples of 4 are:

4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76 etc.

and the multiples of 6 are:

6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, ...

Common multiples of 4 and 6 are simply the numbers that are in both lists:

12, 24, 36, 48, 60, 72, ....

So the least common multiple of 4 and 6 is the smallest one of those: 12

Applications

When adding, subtracting, or comparing vulgar fractions, it is useful to find the least common multiple of the denominators, often called the lowest common denominator, because each of the fractions can be expressed as a fraction with this denominator. For instance,

{2\over21}%2B{1\over6}={4\over42}%2B{7\over42}={11\over42}

where the denominator 42 was used because it is the least common multiple of 21 and 6.

Computing the least common multiple

Reduction by the greatest common divisor

The following formula reduces the problem of computing the least common multiple to the problem of computing the greatest common divisor (GCD):

\operatorname{lcm}(a,b)=\frac{|a\cdot b|}{\operatorname{gcd}(a,b)}.

This formula is also valid when exactly one of a and b is 0, since gcd(a, 0) = |a|.

There are fast algorithms for computing the GCD that do not require the numbers to be factored, such as the Euclidean algorithm. To return to the example above,

\operatorname{lcm}(21,6)
={21\cdot6\over\operatorname{gcd}(21,6)}
={21\cdot 6\over 3}= \frac{126}{3} = 42.

Because gcd(a, b) is a divisor of both a and b, it's more efficient to compute the LCM by dividing before multiplying:

\operatorname{lcm}(a,b)=\left({|a|\over\operatorname{gcd}(a,b)}\right)\cdot |b|=\left({|b|\over\operatorname{gcd}(a,b)}\right)\cdot |a|.

This reduces the size of one input for both the division and the multiplication, and reduces the required storage needed for intermediate results (overflow in the a×b computation). Because gcd(a, b) is a divisor of both a and b, and thus the division will be guaranteed to yield an integer, so the intermediate result can be stored in an integer. Done this way, the previous example becomes:

\operatorname{lcm}(21,6)={21\over\operatorname{gcd}(21,6)}\cdot6={21\over3}\cdot6=7\cdot6=42.

Finding least common multiples by prime factorization

The unique factorization theorem says that every positive integer greater than 1 can be written in only one way as a product of prime numbers. The prime numbers can be considered as the atomic elements which, when combined together, make up a composite number.

For example:

90 = 2^1 \cdot 3^2 \cdot 5^1 = 2 \cdot 3 \cdot 3 \cdot 5. \,\!

Here we have the composite number 90 made up of one atom of the prime number 2, two atoms of the prime number 3 and one atom of the prime number 5.

This knowledge can be used to find the LCM of a set of numbers.

Example: Find the value of lcm(8,9,21).

First, factor out each number and express it as a product of prime number powers.

8\; \, \; \,= 2^3 \cdot 3^0 \cdot 5^0 \cdot 7^0 \,\!
9\; \, \; \,= 2^0 \cdot 3^2 \cdot 5^0 \cdot 7^0 \,\!
21\; \,= 2^0 \cdot 3^1 \cdot 5^0 \cdot 7^1. \,\!

The lcm will be the product of multiplying the highest power in each prime factor category together. Out of the 4 prime factor categories 2, 3, 5, and 7, the highest powers from each are 23, 32, 50, and 71. Thus,

\operatorname{lcm}(8,9,21) = 2^3 \cdot 3^2 \cdot 5^0 \cdot 7^1 = 8 \cdot 9 \cdot 1 \cdot 7 = 504. \,\!

This method is not as efficient as reducing to the greatest common divisor, since there is no known general efficient algorithm for integer factorization, but is useful in illustrating concepts.

This method can be illustrated using a Venn diagram as follows. Find the prime factorization of each of the two numbers. Put the prime factors into a Venn diagram with one circle for each of the two numbers, and all factors they share in common in the intersection. To find the LCM, just multiply all of the prime numbers in the diagram.

Here is an example:

48 = 2 × 2 × 2 × 2 × 3,
180 = 2 × 2 × 3 × 3 × 5,

and what they share in common is two "2"s and a "3":

Least common multiple = 2 × 2 × 2 × 2 × 3 × 3 × 5 = 720
Greatest common divisor = 2 × 2 × 3 = 12

This also works for the greatest common divisor (GCD), except that instead of multiplying all of the numbers in the Venn diagram, one multiplies only the prime factors that are in the intersection. Thus the GCD of 48 and 180 is 2 × 2 × 3 = 12.

A simple algorithm

This method works as easily for finding the LCM of several integers.

Let there be a finite sequence of positive integers X = (x1, x2, ..., xn), n > 1. The algorithm proceeds in steps as follows: on each step m it examines and updates the sequence X(m) = (x1(m), x2(m), ..., xn(m)), X(1) = X. The purpose of the examination is to pick up the least (perhaps, one of many) element of the sequence X(m). Assuming xk0(m) is the selected element, the sequence X(m+1) is defined as

xk(m+1) = xk(m), kk0
xk0(m+1) = xk0(m) + xk0.

In other words, the least element is increased by the corresponding x whereas the rest of the elements pass from X(m) to X(m+1) unchanged.

The algorithm stops when all elements in sequence X(m) are equal. Their common value L is exactly LCM(X). (For a proof and an interactive simulation see reference below, Algorithm for Computing the LCM.)

A method using a table

This method works for any number of factors. One begins by listing all of the numbers vertically in a table (in this example 4, 7, 12, 21, and 42):

 4
 7
12
21
42

The process begins by dividing all of the factors by 2. If any of them divides evenly, write 2 at the top of the table and the result of division by 2 of each factor in the space to the right of each factor and below the 2. If a number does not divide evenly, just rewrite the number again. If 2 does not divide evenly into any of the numbers, try 3.

x 2
4 2
7 7
12 6
21 21
42 21

Now, check if 2 divides again:

x 2 2
4 2 1
7 7 7
12 6 3
21 21 21
42 21 21

Once 2 no longer divides, divide by 3. If 3 no longer divides, try 5 and 7. Keep going until all of the numbers have been reduced to 1.

x 2 2 3 7
4 2 1 1 1
7 7 7 7 1
12 6 3 1 1
21 21 21 7 1
42 21 21 7 1

Now, multiply the numbers on the top and you have the LCM. In this case, it is 2 × 2 × 3 × 7 = 84. This is a variation on Euclid's algorithm, as common factors are essentially divided out along the way of dividing all of the numbers at once by each successive factor. You will get to the LCM the quickest if you use prime numbers and start from the lowest prime, 2.

Formulas

Fundamental theorem of arithmetic

According to the fundamental theorem of arithmetic a positive integer is the product of prime numbers, and, except for their order, this representation is unique:

n=2^{n_2} 3^{n_3} 5^{n_5} 7^{n_7} \cdots = \prod_p p^{n_p},\;

where the exponents n2, n3, ... are non-negative integers; for example, 84 = 22 31 50 71 110 130 ...

Given two integers   \;a=\prod_p p^{a_p}\;\;   and   \;b=\prod_p p^{b_p}\;\;   their least common multiple and greatest common divisor are given by the formulas

\gcd(a,b) = \prod_p p^{\min(a_p, b_p)}\;

and

\operatorname{lcm}(a,b) = \prod_p p^{\max(a_p, b_p)}.\;

Since

\min(x,y) %2B \max(x,y) = x%2By,\;\;

this gives

\gcd(a,b)\,\operatorname{lcm}(a,b) = a\,b.\;

In fact, any rational number can be written uniquely as the product of primes if negative exponents are allowed. When this is done, the above formulas remain valid. Using the same examples as above:

4 = 2^2 3^0, \;\; 6 = 2^1 3^1, \;\;  \gcd(4, 6) = 2^1 3^0, \;\; \operatorname{lcm}(4,6) = 2^2  3^1.\;
\tfrac{1}{3}=2^0 3^{-1} 5^0,\;\;\tfrac{2}{5}=2^1 3^0 5^{-1}, \;\; \gcd(\tfrac13, \tfrac25)= 2^0 3^{-1} 5^{-1}, \;\;\operatorname{lcm}(\tfrac13, \tfrac25) = 2^1 3^0 5^0, \;\;
\tfrac{1}{6}=2^{-1} 3^{-1} ,\;\;\tfrac{3}{4}=2^{-2} 3^1, \;\; \gcd(\tfrac16, \tfrac34)= 2^{-2} 3^{-1}, \;\;\operatorname{lcm}(\tfrac16, \tfrac34) = 2^{-1} 3^1. \;\;

Lattice-theoretic

The positive integers may be partially ordered by divisibility: if a divides b (i.e. if b is an integer multiple of a) write ab (or equivalently, ba). (Forget the usual magnitude-based definition of ≤ in this section - it isn't used.)

Under this ordering, the positive integers become a lattice with meet given by the gcd and join given by the lcm. The proof is straightforward, if a bit tedious; it amounts to checking that lcm and gcd satisfy the axioms for meet and join. Putting the lcm and gcd into this more general context establishes a duality between them:

If a formula involving integer variables, gcd, lcm, ≤ and ≥ is true, then the formula obtained by switching gcd with lcm and switching ≥ with ≤ is also true. (Remember ≤ is defined as divides).

The following pairs of dual formulas are special cases of general lattice-theoretic identities.

Commutative laws
\operatorname{lcm}(a, b) = \operatorname{lcm}(b, a),\;
\gcd(a, b) =\gcd( b, a).\;
    
Associative laws
\operatorname{lcm}(a,\operatorname{lcm}(b, c)) = \operatorname{lcm}(\operatorname{lcm}(a , b),c),\;
\gcd(a, \gcd(b, c)) = \gcd(\gcd(a,b), c).\;
    
Absorption laws
\operatorname{lcm}(a, \gcd(a,b)) = a,\;
\gcd(a, \operatorname{lcm}(a, b)) = a.\;
Idempotent laws
\operatorname{lcm}(a, a) = a,\;
\gcd(a, a) = a.\;.
    
Define divides in terms of lcm and gcd
a \ge b \iff a = \operatorname{lcm}(a,b),\;
a \le b \iff a = \gcd(a,b).\;

It can also be shown[4] that this lattice is distributive, i.e. that lcm distributes over gcd and, dually, that gcd distributes over lcm:

\operatorname{lcm}(a,\gcd(b,c)) = \gcd(\operatorname{lcm}(a,b),\operatorname{lcm}(a,c)),\;
\gcd(a,\operatorname{lcm}(b,c)) = \operatorname{lcm}(\gcd(a,b),\gcd(a,c)).\;

This identitity is self-dual:

\gcd(\operatorname{lcm}(a,b),\operatorname{lcm}(b,c),\operatorname{lcm}(a,c))=\operatorname{lcm}(\gcd(a,b),\gcd(b,c),\gcd(a,c)).\;

Other

Let D be the product of ω(D) distinct prime numbers (i.e. D is squarefree).

Then[5]

|\{(x,y)\;:\; \operatorname{lcm}(x,y)=D\}|= 3^{\omega(D)},\;

where the absolute bars || denote the cardinality of a set.

The LCM in commutative rings

The least common multiple can be defined generally over commutative rings as follows: Let a and b be elements of a commutative ring R. A common multiple of a and b is an element m of R such that both a and b divide m (i.e. there exist elements x and y of R such that ax = m and by = m). A least common multiple of a and b is a common multiple that is minimal in the sense that for any other common multiple n of a and b, m divides n.

In general, two elements in a commutative ring can have no least common multiple or more than one. However, any two least common multiples of the same pair of elements are associates. In a unique factorization domain, any two elements have a least common multiple. In a principal ideal domain, the least common multiple of a and b can be characterised as a generator of the intersection of the ideals generated by a and b (the intersection of a collection of ideals is always an ideal). In principal ideal domains, one can even talk about the least common multiple of arbitrary collections of elements: it is a generator of the intersection of the ideals generated by the elements of the collection.

See also

Notes

  1. ^ Hardy & Wright, § 5.1, p. 48
  2. ^ Long (1972, p. 39)
  3. ^ Pettofrezzo & Byrkit (1970, p. 56)
  4. ^ The next three formulas are from Landau, Ex. III.3, p. 254
  5. ^ Crandall & Pomerance, ex. 2.4, p. 101.

References

External links